using System;
using System.Collections.Generic;

using ManageMoney.DataType;
using ManageMoney.DataAccess;

namespace ManageMoney.BussinessLogic
{
    public class UsuarioLogic
    {
        #region Variables

        private UsuarioData _usuarioData;

        #endregion

        #region Constructores

        public UsuarioLogic()
        {
            _usuarioData = new UsuarioData();
        }

        #endregion

        #region Metodos

        public UsuarioType CargarPorId(string id)
        {
            _usuarioData.FiltrarPorId(id);

            return _usuarioData.Cargar();
        }

        public void Grabar(UsuarioType usuario)
        {
            _usuarioData.Grabar(usuario);
        }

        public UsuarioType Login(string email,string contrasena)
        {
            _usuarioData.FiltrarPorEmail(email);
            _usuarioData.FiltrarPorContrasena(contrasena);

            return _usuarioData.Cargar();
        }

        public List<UsuarioType> CargarExplorador(string id,string nombre,string email)
        {
            if(id != "") _usuarioData.FiltrarPorId(id);
            if(nombre != "") _usuarioData.FiltrarPorNombre(nombre);
            if(email != "") _usuarioData.FiltrarPorEmail(email);

            return _usuarioData.CargarListaVista();
        }

        #endregion
    }
}
